package com.briup.pts.mapper;

import com.briup.pts.domain.bean.IndexRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface IndexRecordMapper {

    /**
     * 根据动物id和时间查询指标记录信息
     * @param animalId 动物id
     * @param irdTime 记录时间
     * @return 符合条件的记录信息
     */
    IndexRecord queryByAnimalIdWithTime(@Param("animalId") String animalId, @Param("irdTime") LocalDateTime irdTime);

    /**
     * 添加指标记录信息
     * @param indexRecord 指标记录信息
     */
    void addIndexRecord(IndexRecord indexRecord);

    /**
     * 修改指标记录信息
     * @param indexRecord 指标记录信息
     */
    void updateIndexRecord(IndexRecord indexRecord);

    /**
     * 批量删除指标记录
     * @param irIds 待删除指标的id集合
     */
    void batchDelete(@Param("irIds") List<Integer> irIds);

    /**
     * 根据条件查询指标数据
     * @param startWeight 体重条件的最小值
     * @param endWeight 体重条件的最大值
     * @return 符合条件的指标数据
     */
    List<IndexRecord> queryByConditional(@Param("startWeight") Integer startWeight,
                                         @Param("endWeight") Integer endWeight);

    List<IndexRecord> queryByAnimalId(String animalId);
}
